#include <iostream>
using namespace std;
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */
//class Solution {
//public:
//    ListNode* swapPairs(ListNode* head) 
//    {
//        if(head==nullptr)
//            return nullptr;
//        vector<ListNode*> v;
//        ListNode* cur=head;
//        while(cur)
//        {
//            v.push_back(cur);
//            cur=cur->next;
//        }
//        for(size_t i=0;i+1<v.size();i+=2)
//            swap(v[i],v[i+1]);
//        size_t i=0;
//        for(i=0;i+1<v.size();i++)
//        {
//            v[i]->next=v[i+1];
//        }
//        v[i]->next=nullptr;
//        return v[0];
//    }
//};


